/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ac.logic;

import ac.entities.ProveedorNatural;
import ac.persistence.PersistProveedorNatural;
import java.util.ArrayList;

/**
 * Módulo de lógica de negocios para ProveedorNatural
 * @author prometheus
 */
public class LogicProveedorNatural {


    /**
     * Pide el id del último proveedor natural
     * @return id del último proveedor natural
     */
    public int ultimoProveedorNatural () {
        PersistProveedorNatural ppn = new PersistProveedorNatural();
        int ultimo = ppn.ultimoProveedorNatural();
        return ultimo;
    }

    /**
     * Solicita la creación de un nuevo registro de ProveedorNatural
     * @param pn el proveedor a ser registrado
     * @return true si la operación fue exitosa
     */
    public String registrarProveedorNatural(ProveedorNatural pn) {
        PersistProveedorNatural ppn = new PersistProveedorNatural();
        String ret = "No se pudo registrar proveedor";
        boolean resultado = ppn.insertProveedorNatural(pn);
        if (resultado) {
            ret = "Proveedor registrado correctamente";
        }
        return ret;
    }


    public ArrayList<ProveedorNatural> buscarTodosProvNat () {
        ArrayList<ProveedorNatural> proveedores = null;
        PersistProveedorNatural ppn = new PersistProveedorNatural();
        proveedores = ppn.todosProveedoresNaturales();
        return proveedores;
    }

    public String actualizarProvNat(int idProveedor, int ci, String nombre, String apellido, String telefono, String direccion, int idLugar) {
        String ret = "No se pudo actualizar proveedor";
        ProveedorNatural pn = new ProveedorNatural(idProveedor, ci, nombre, apellido,
                telefono, direccion, idLugar);

        PersistProveedorNatural ppn = new PersistProveedorNatural();
        boolean result = ppn.updateProveedorNatural(pn.getId(), pn.getTelefono(), pn.getDireccion());
        if (result) {
            ret = "Proveedor actualizado correctamente";
        }

        return ret;
    }

}
